home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_gwu / adavio.h < prev    next >
C/C++ Source or Header  |  1996-01-30  |  2KB  |  76 lines

  1. /*
  2.    HELP ENGINE PARA GWADA
  3.  
  4.    Módulo ADAVIO.H
  5.    Declaracoes especificas para o módulo de vídeo
  6.  
  7.    Trabalho de conclusao
  8.    Bacharelado de Informatica
  9.  
  10.    Ulrich Peters
  11.    Rafael Presoto
  12.    Jerry Dressler
  13. */
  14.  
  15. typedef union vel VEL; /* usado apenas como abreviacao */
  16. struct velb {          /* uma posicao da memoria de video como 2 bytes */
  17.          char caractere,    /* codigo ASCII */
  18.           atributo;     /* atributo */
  19.         };
  20.  
  21. struct velw {          /* uma posicao da memoria de video como 1 word */
  22.          int conteudo;     /* codigo ASCII e atributo */
  23.         };
  24.  
  25. union vel {            /* descreve uma posicao da tela */
  26.        struct velb h;
  27.        struct velw x;
  28.       };
  29.  
  30. #define NOCLEAR 0xff
  31.  
  32. /* códigos dos diferentes sistemas de vídeo */
  33. #define MDA       0
  34. #define CGA       1
  35. #define EGA       2
  36. #define EGA_MONO  3
  37. #define VGA       4
  38. #define VGA_MONO  5
  39. #define MCGA      6
  40. #define MCGA_MONO 7
  41.  
  42. /* macros */
  43. #define COL(v, h) ((char) (((h) << 4) | (v)) )
  44. #define BUFLEN(x1, y1, x2, y2) \
  45.       ( ((x2)-(x1)+1) * ((y2)-(y1)+1) * sizeof( VEL ) )
  46. #define AKTZ ( vlinha )
  47. #define AKTS ( vcoluna )
  48. #define VL(i) (( i ) + viewx1)
  49. #define VO(i) (( i ) + viewy1)
  50. #define VR(i) (( i ) + viewx2)
  51. #define VU(i) (( i ) + viewy2)
  52. #define VCOL (viewx2 - viewx1 + 1)
  53. #define VROW (viewy2 - viewy1 + 1)
  54. #define MOVE(s, d, l) movedata( FP_SEG( (void far *) s ), \
  55.                 FP_OFF( (void far *) s ), \
  56.                 FP_SEG( (void far *) d ), \
  57.                 FP_OFF( (void far *) d ), \
  58.                 l )
  59.  
  60. /* prototypes */
  61. void VioInit(void);
  62. void VioGet(int x1, int y1, int x2, int y2, VEL far * bptr);
  63. void VioPut(int x1, int y1, int x2, int y2, VEL far * bptr);
  64. int VioWinOpen(int x1, int y1, int x2, int y2);
  65. void VioWinClose(int redraw);
  66. void VioSetCursor(int coluna, int linha);
  67. void VioPrint(int coluna, int linha, char cor, char cursor, char * string);
  68. void VioPrintf(int coluna, int linha, char cor, char cursor, char * string, ... );
  69. char *VioStrep(char caractere, int num);
  70. void VioFill(int x1, int y1, int x2, int y2, char caractere, char cor);
  71. void VioFrame(int x1, int y1, int x2, int y2, char moldura, char cor);
  72. void VioColor(int x1, int y1, int x2, int y2, char cor );
  73. void VioSombra(int x1, int y1, int x2, int y2);
  74. void VioSetView(int x1, int y1, int x2, int y2);
  75.  
  76. extern char color;